home *** CD-ROM | disk | FTP | other *** search
- package symantec.itools.db.awt;
-
- import java.awt.Event;
- import java.awt.Image;
-
- public class DefaultDataSource implements DataSource {
- Matrix data;
- Grid view;
- boolean useDefault;
- boolean autoNumber;
- int first;
- Data defaultValue;
-
- public DefaultDataSource(Grid var1) {
- this(var1, false, (Data)null);
- }
-
- public DefaultDataSource(Grid var1, boolean var2) {
- this(var1, var2, (Data)null);
- }
-
- public DefaultDataSource(Grid var1, boolean var2, Data var3) {
- this.data = new Matrix();
- this.useDefault = false;
- this.autoNumber = false;
- this.setGrid(var1);
- this.useDefault = var2;
- if (var2) {
- this.defaultValue = (Data)(var3 != null ? var3 : new DefaultData(this));
- }
-
- }
-
- public int rows() {
- return this.data.rows();
- }
-
- public int fetchAllRows() {
- return this.data.rows();
- }
-
- public void fetchMode(boolean var1) {
- }
-
- public Grid getView() {
- return this.view;
- }
-
- public int validDataRowRange(int var1, int var2) throws DataNotAvailable {
- int var3 = this.data.rows();
- if (var3 <= var1) {
- throw new DataNotAvailable("Requested top=" + var1 + " but only " + var3 + " available");
- } else {
- return Math.min(var3 - 1, var2);
- }
- }
-
- public void setCurrentRow(int var1) throws TypeNotSupported {
- }
-
- public void doAutoNumbering(boolean var1) {
- this.doAutoNumbering(var1, this.first);
- }
-
- public void doAutoNumbering(boolean var1, int var2) {
- this.autoNumber = var1;
- this.first = var2;
- if (!this.useDefault && var1) {
- this.useDefault = true;
- this.defaultValue = new ImageStringData(this);
- }
-
- }
-
- public void commitData() throws TypeNotSupported {
- }
-
- public void setDefaultData() {
- if (this.defaultValue == null) {
- this.setDefaultData(new DefaultData(this));
- }
-
- }
-
- public void setDefaultData(Data var1) {
- this.useDefault = true;
- this.autoNumber = false;
- this.defaultValue = var1;
- }
-
- public Data getDefaultData() {
- if (this.defaultValue == null) {
- throw new NullPointerException("Default data value not set");
- } else {
- return this.defaultValue;
- }
- }
-
- public void setGrid(Grid var1) {
- this.view = var1;
- }
-
- public boolean supportsMeta() {
- return false;
- }
-
- public void setupGrid(Grid var1) throws TypeNotSupported {
- throw new TypeNotSupported("DefaultDataSource does not support meta information");
- }
-
- public Data readData(int var1, int var2) throws DataNotAvailable {
- return this.getData(var1, var2);
- }
-
- public Data getData(Coordinate var1) throws DataNotAvailable {
- return this.getData(var1.row, var1.col);
- }
-
- public Data getData(int var1, int var2) throws DataNotAvailable {
- try {
- return (Data)this.data.elementAt(var1, var2);
- } catch (NullPointerException var8) {
- if (this.autoNumber) {
- int var4 = this.view.rowState(var1 + 1);
- this.defaultValue.setText(Integer.toString(var1 + this.first));
- if (var4 == 2) {
- this.defaultValue.appendChar('*');
- }
-
- if (this.view.relation != null) {
- DbDataSource var5 = (DbDataSource)this.view.dataSource;
- DbaDataStore var6 = (DbaDataStore)var5.store;
- String var7 = this.defaultValue.toString();
- if (var6.isCurrentRow(var1 + 1)) {
- this.defaultValue.setText('<' + var7 + '>');
- }
- }
-
- return this.defaultValue;
- } else if (this.useDefault) {
- if (this.defaultValue instanceof DefaultData) {
- ((DefaultData)this.defaultValue).setRowAndCol(var1, var2);
- }
-
- return this.defaultValue;
- } else {
- throw var8;
- }
- }
- }
-
- public void setData(Coordinate var1, Data var2) throws TypeNotSupported {
- this.setData(var1.row, var1.col, var2);
- }
-
- public void setData(int var1, int var2, Data var3) throws TypeNotSupported {
- this.data.updateElement(var1, var2, var3);
- }
-
- public String getText(Coordinate var1) throws DataNotAvailable {
- return this.getData(var1.row, var1.col).toString();
- }
-
- public boolean supports(Coordinate var1, int var2) {
- return var2 == 1 || var2 == 2 || var2 == 3;
- }
-
- public Image getImage(Coordinate var1) throws DataNotAvailable {
- Data var2 = (Data)this.data.elementAt(var1.row, var1.col);
- return var2.toImage();
- }
-
- public boolean handleEvent(Event var1) {
- if (var1.arg instanceof TableCell) {
- TableCell var2 = (TableCell)var1.arg;
-
- Data var3;
- try {
- var3 = var2.getData();
- } catch (DataNotAvailable var5) {
- return false;
- }
-
- switch (var1.id) {
- case 54:
- var3.rollback();
- break;
- case 1005:
- try {
- var3.commit();
- } catch (TypeNotSupported var4) {
- }
- }
- }
-
- return false;
- }
-
- public void handleException(int var1, int var2, Exception var3) {
- this.view.handleException(var1, var2, var3);
- }
-
- public void undeleteRow(int var1) throws TypeNotSupported {
- throw new TypeNotSupported("Undelete not supported in DefaultDataSource");
- }
-
- public void deleteRow(int var1) throws TypeNotSupported {
- this.data.removeRow(var1);
- }
-
- public void insertRow(int var1) throws TypeNotSupported {
- this.data.insertRow(var1);
- }
-
- public int appendRow() throws TypeNotSupported {
- this.data.insertRow(this.data.rows());
- return this.data.rows() - 1;
- }
-
- public int rowState(int var1) {
- return 0;
- }
-
- public void clear() {
- this.data.removeAllElements();
- }
-
- public void refresh() {
- }
-
- public void save() {
- }
-
- public void undoRow(int var1) throws TypeNotSupported {
- }
-
- Data fetchData(int var1, int var2) {
- if (this.data.contains(var1, var2)) {
- return (Data)this.data.elementAt(var1, var2);
- } else {
- ImageStringData var3 = new ImageStringData(this);
- this.data.updateElement(var1, var2, var3);
- return var3;
- }
- }
-
- public boolean isDataEditable(int var1, int var2) {
- return true;
- }
-
- public int type(int var1, int var2) {
- return 1;
- }
-
- public void rollbackCurrentData() {
- }
-
- public void rollback(int var1, int var2) {
- }
-
- public void commit(int var1, int var2) {
- }
-
- public boolean supportsChoice(int var1, int var2) {
- return false;
- }
-
- public Data[] getChoices(int var1, int var2) throws TypeNotSupported {
- throw new TypeNotSupported();
- }
-
- public void setText(int var1, int var2, String var3) {
- this.fetchData(var1, var2).setText(var3);
- }
-
- public void insertChar(int var1, int var2, int var3, char var4) {
- this.fetchData(var1, var2).insertChar(var3, var4);
- }
-
- public void setText(int var1, int var2, char var3) {
- this.fetchData(var1, var2).setText(var3);
- }
-
- public void appendChar(int var1, int var2, char var3) {
- this.fetchData(var1, var2).appendChar(var3);
- }
-
- public void clearText(int var1, int var2) {
- if (this.data.contains(var1, var2)) {
- ((Data)this.data.elementAt(var1, var2)).clearText();
- }
-
- }
-
- public void deleteChar(int var1, int var2, int var3) {
- if (this.data.contains(var1, var2)) {
- ((Data)this.data.elementAt(var1, var2)).deleteChar(var3);
- }
-
- }
-
- public String subString(int var1, int var2, int var3, int var4) {
- if (this.data.contains(var1, var2)) {
- return ((Data)this.data.elementAt(var1, var2)).subString(var3, var4);
- } else {
- throw new StringIndexOutOfBoundsException();
- }
- }
-
- public void setImage(int var1, int var2, Image var3) {
- this.fetchData(var1, var2).setImage(var3);
- }
-
- public String toString(int var1, int var2) {
- return this.data.contains(var1, var2) ? ((Data)this.data.elementAt(var1, var2)).toString() : "";
- }
-
- public Image toImage(int var1, int var2) {
- return this.data.contains(var1, var2) ? ((Data)this.data.elementAt(var1, var2)).toImage() : null;
- }
-
- public Object getSynchronizationObject() {
- return this.data;
- }
- }
-